home *** CD-ROM | disk | FTP | other *** search
/ ...taking it to the Macs! / ...taking it to the Macs!.iso / Extras / ActiveX Mac SDK / ActiveX SDK / Headers / COBJPS.H < prev    next >
Encoding:
C/C++ Source or Header  |  1996-04-22  |  2.8 KB  |  87 lines  |  [TEXT/????]

  1. /*****************************************************************************\
  2. *                                                                             *
  3. * cobjps.h -    Definitions for writing standard proxies and stubs              *
  4. *                                                                             *
  5. *               OLE Version 2.0                                               *
  6. *                                                                             *
  7. *               Copyright (c) 1992-1994, Microsoft Corp. All rights reserved. *
  8. *                                                                             *
  9. \*****************************************************************************/
  10.  
  11. #if !defined( __COBJPS__ ) && !defined( _COBJPS_H_ )
  12. #define __COBJPS__
  13. #define _COBJPS_H_
  14.  
  15.  
  16. /****** IRpcChannel Interface ***********************************************/
  17. #undef  INTERFACE
  18. #define INTERFACE   IRpcChannel
  19.  
  20. DECLARE_INTERFACE_(IRpcChannel, IUnknown)
  21. {
  22.     BEGIN_INTERFACE
  23.     STDMETHOD(GetStream)(REFIID iid, int iMethod, unsigned long fSend,
  24.                      unsigned long fNoWait, unsigned long size, IStream * * ppIStream) PURE;
  25.     STDMETHOD(Call)(IStream * pIStream) PURE;
  26.     STDMETHOD(GetDestCtx)(unsigned long * lpdwDestCtx, void * * lplpvDestCtx) PURE;
  27.     STDMETHOD(IsConnected)(void) PURE;
  28. };
  29.  
  30.  
  31. /****** IRpcProxy Interface *************************************************/
  32.  
  33. // IRpcProxy is an interface implemented by proxy objects.  A proxy object has
  34. // exactly the same interfaces as the real object in addition to IRpcProxy.
  35. //
  36.  
  37. #undef  INTERFACE
  38. #define INTERFACE   IRpcProxy
  39.  
  40. DECLARE_INTERFACE_(IRpcProxy, IUnknown)
  41. {
  42.     BEGIN_INTERFACE
  43.     STDMETHOD(Connect)(IRpcChannel * pRpcChannel) PURE;
  44.     STDMETHOD_(void, Disconnect)(void) PURE;
  45. };
  46.  
  47.  
  48. /****** IRpcStub Interface **************************************************/
  49.  
  50. // IRpcStub is an interface implemented by stub objects.  
  51. //
  52.  
  53. #undef  INTERFACE
  54. #define INTERFACE   IRpcStub
  55.  
  56. DECLARE_INTERFACE_(IRpcStub, IUnknown)
  57. {
  58.      BEGIN_INTERFACE
  59.     STDMETHOD(Connect)(IUnknown * pUnk) PURE;
  60.     STDMETHOD_(void, Disconnect)(void) PURE;
  61.     STDMETHOD(Invoke)(REFIID iid, int iMethod, IStream * pIStream,
  62.             unsigned long dwDestCtx, void * lpvDestCtx) PURE;
  63.     STDMETHOD_(unsigned long, IsIIDSupported)(REFIID iid) PURE;
  64.     STDMETHOD_(unsigned long, CountRefs)(void) PURE;
  65. };
  66.  
  67.  
  68. /****** IPSFactory Interface ************************************************/
  69.  
  70. // IPSFactory - creates proxies and stubs
  71. //
  72.  
  73. #undef  INTERFACE
  74. #define INTERFACE   IPSFactory
  75.  
  76. DECLARE_INTERFACE_(IPSFactory, IUnknown)
  77. {
  78.     BEGIN_INTERFACE
  79.     STDMETHOD(CreateProxy)(IUnknown * pUnkOuter, REFIID riid, 
  80.         IRpcProxy * * ppProxy, void * * ppv) PURE;
  81.     STDMETHOD(CreateStub)(REFIID riid, IUnknown * pUnkServer,
  82.         IRpcStub * * ppStub) PURE;
  83. };
  84.  
  85. #endif /* !__COBJPS__ */
  86.  
  87.